One Time Command Execution

@command syntax:

@REM __START_ONETIME [<assigned object>{,<assigned object>}]
code included here only gets executed once
@REM __END_ONETIME

Commands can take a long time to process. To handle this there is the concept of a 'one' time run. To protect a block of commands from executing more than once, specially formatted comments should be placed at the start and end of the command block.

The <assigned object> list is a list of objects whose values are assigned by the block. When inference is re-run, these objects are NOT cleared and so the assigned value is left intact.